<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>抽奖</title>
        <style>
            html,
            body {
                margin: 0;
                padding: 0;
            }

            body {
                height: 2000px;
                display: flex;
                flex-direction: column;
            }
            .top {
                height: 200px;
                text-align: center;
                overflow: hidden;
            }
            button {
                padding: 10px 20px;
                font-size: 30px;
                cursor: pointer;
            }
            .content {
                flex: 1;
                background-color: orange;
                display: flex;
            }
            .content .left {
                flex: 1;
                background-color: skyblue;
                padding: 10px;
                box-sizing: border-box;
            }
            .content .item {
                display: inline-block;
                height: 30px;
                border: 1px solid #000;
                padding: 4px;
                line-height: 30px;
                border-radius: 10px;
                transition: 0.3s;
                cursor: pointer;
                margin-right: 10px;
            }
            .content .item:hover {
                box-shadow: 0 0 10px gray;
                transform: translateY(-4px);
                color: white;
                font-weight: 900;
            }

            .content .right {
                flex: 1;
                background-color: pink;
            }
        </style>
    </head>
    <body>
        <div class="top">
            <h2>抽奖</h2>
            <button>开始</button>
        </div>
        <div class="content">
            <div class="left">
                <div class="item">某同学-0次</div>
            </div>
            <div class="right"></div>
        </div>
        <script src="./lib/echarts.min.js"></script>
        <script src="./node_modules/axios/dist/axios.min.js"></script>
        <script>
            // 获取学生列表
            const getStudents = async () => {
                const { data } = await axios.get(
                    "http://127.0.0.1:8888/api/students"
                );
                const htmlArr = data.map((item) => {
                    return `
                        <div class="item">${item.name}-${item.count}次</div>
                    `;
                });
                document.querySelector(".left").innerHTML = htmlArr.join("");
                const nameData = data.map((item) => {
                    return item.name;
                });
                const countData = data.map((item) => {
                    return item.count;
                });
                var myChart = echarts.init(document.querySelector(".right"));
                const option = {
                    xAxis: {
                        type: "value",
                    },
                    yAxis: {
                        type: "category",
                        data: nameData,
                        inverse: true,
                    },
                    tooltip: {},
                    series: [
                        {
                            realtimeSort: true,
                            data: countData,
                            type: "bar",
                            showBackground: true,
                            backgroundStyle: {
                                color: "rgba(180, 180, 180, 0.2)",
                            },
                        },
                    ],
                };
                myChart.setOption(option);
            };
            window.addEventListener("load", () => {
                getStudents();
            });
            document
                .querySelector("button")
                .addEventListener("click", async () => {
                    const { data } = await axios.get(
                        "http://127.0.0.1:8888/api/lucystar"
                    );
                    alert(`恭喜${data.name}同学，第${data.count}次中奖`);
                    getStudents();
                });
        </script>
    </body>
</html>
